package com.atguigu.gulimall.search.vo;

import com.atguigu.common.to.es.SkuEsModel;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.ArrayList;
import java.util.List;

@Data
//封装：检索到的所有数据，返回给页面
public class SearchResult {

    //查询到的所有商品信息
    private List<SkuEsModel> products;

    /**
     * 以下是 分页信息
     */
    private Integer pageNum;//当前页码
    private Long total;//总记录数
    private Integer totalPages;//总页码
    private List<Integer> pageNavs;

    /**
     * 以下是通过聚合得到的公共信息
     */
    private List<BrandVo> brands;//当前查询到的结果中，所有涉及到的品牌信息。
    private List<CatalogVo> catalogs;//当前查询到的结果中，所有涉及到的所有分类。
    private List<AttrVo> attrs;//当前查询到的结果中，所有涉及到的所有属性

    //==========以上是需要返回给页面的信息=============

    //面包屑导航数据
    private List<NavVo> navs =new ArrayList<>();
    private List<Long> navIds = new ArrayList<>();

    @Data
    public static class NavVo{
        private String navName;
        private String navValue;
        private String link;//链接
    }

    @Data
    public static class BrandVo{
        private Long brandId;
        private String brandName;
        private String BrandImg;
    }

    @Data
    public static class AttrVo{
        private Long attrId;
        private String attrName;
        private List<String> attrValue;
    }

    @Data
    public static class CatalogVo{
        private Long catalogId;
        private String catalogName;
    }

}
